function IsNum(v){
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

   for (var i = 0; i < v.length && IsNumber == true; i++) 
      { 
      Char = v.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;   
}
function valida() {
	if (form1.membro.value == "" || IsNum(form1.membro.value)) {
		alert("Informe o nome do membro corretamente.");
		form1.membro.focus();
		return false;
	}
	if (form1.sexo.value == "selecione") {
		alert("Selecione o sexo do membro.");
		form1.sexo.focus();
		return false;
	}
	if (form1.rg.value == "") {
		alert("Informe o número do RG do membro.");
		form1.rg.focus();
		return false;
	}
	if (form1.cpf.value == "") {
		alert("Informe o número do CPF do membro.");
		form1.cpf.focus();
		return false;
	}
	if (form1.estcivil.value == "selecione") {
		alert("Selecione o estado civil do membro.");
		form1.estcivil.focus();
		return false;
	}
	if (form1.datanasc.value == "") {
		alert("Informe a Data de Nascimento do Membro.");
		form1.datanasc.focus();
		return false;
	}
	if (form1.tipomembro.value == "selecione") {
		alert("Informe o tipo do Membro.");
		form1.tipomembro.focus();
		return false;
	}
	if (form1.formacao.value == "selecione") {
		alert("Informe o grau de formação do Membro.");
		form1.formacao.focus();
		return false;
	}
	if (form1.profissao.value == "") {
		alert("Informe a profissão do Membro.");
		form1.profissao.focus();
		return false;
	}
	if (form1.telfixo.value == "") {
		alert("Informe o número do telefone fixo do Membro.");
		form1.telfixo.focus();
		return false;
	}
	if (form1.telcel.value == "") {
		alert("Informe o número do telefone celular do Membro.");
		form1.telcel.focus();
		return false;
	}
	var filtro_mail = /^.+@.+\..{2,3}$/;
		if (!filtro_mail.test(form1.email.value) || form1.email.value=="") {
			alert("Preencha o e-mail corretamente.");
			form1.email.focus();
			return false;
		}
		if (!form1.emailaux.value=="" && !filtro_mail.test(form1.emailaux.value)) {
			alert("Preencha o e-mail corretamente.");
			form1.emailaux.focus();
			return false;
		}
	if (form1.rua.value == "") {
		alert("Campo rua é obrigatório!");
		form1.rua.focus();
		return false;
	}
	if (form1.numero.value == "" || !IsNum(form1.numero.value)) {
		alert("Campo numero é obrigatório ou está inválido!");
		form1.numero.focus();
		return false;
	}
	if (form1.bairro.value == "") {
		alert("Campo Bairro é obrigatório!");
		form1.bairro.focus();
		return false;
	}
	if (form1.cep.value == "") {
		alert("Campo CEP é obrigatório!");
		form1.cep.focus();
		return false;
	}
	if (form1.natural.value == "") {
		alert("Campo Naturalidade é obrigatório!");
		form1.natural.focus();
		return false;
	}
	if (form1.cidade.value == "") {
		alert("Campo Cidade é obrigatório!");
		form1.cidade.focus();
		return false;
	}
	if (form1.estado.value == "selecione") {
		alert("Campo Estado é obrigatório!");
		form1.estado.focus();
		return false;
	}
	/*if (form1.mae.value == "") {
		alert("Campo Nome da Mãe é obrigatório!");
		form1.mae.focus();
		return false;
	}
	if (form1.pai.value == "") {
		alert("Campo Nome do Pai é obrigatório!");
		form1.pai.focus();
		return false;
	}*/
	if (form1.qtd.value == "") {
		alert("Campo Quatidade de filhos é obrigatório!");
		form1.qtd.focus();
		return false;
	}
	/*if (form1.qtd.value != "" && form1.qtdmaior.value != "" && form1.qtdmenor.value != "") {
		if((form1.qtdmaior.value + form1.qtdmenor.value) != form1.qtd.value){
			alert("Os dados informados nos campos qtdfilhos, maiores e menores são imprecisos.");
			form1.qtdmaior.focus();
			form1.qtdmenor.focus();
			return false;
		}
	}*/
	if (form1.igreja.value == "selecione") {
		alert("Campo Igreja é obrigatório!");
		form1.igreja.focus();
		return false;
	}
	/*if (form1.ministerio.value == "selecione") {
		alert("Campo Ministério é obrigatório!");
		form1.ministerio.focus();
		return false;
	}*/
}

function MascaraRG(rg){
	if(mascaraInteiro(rg)==false){
		event.returnValue = false;
	}	
	return formataCampo(rg, '000.000.000', event);
}

//adiciona mascara de cep
function MascaraCep(cep){
		if(mascaraInteiro(cep)==false){
		event.returnValue = false;
	}	
	return formataCampo(cep, '00.000-000', event);
}

//adiciona mascara de data
function MascaraData(data){
	if(mascaraInteiro(data)==false){
		event.returnValue = false;
	}	
	return formataCampo(data, '00/00/0000', event);
}

//adiciona mascara ao telefone
function MascaraTelefone(tel){	
	if(mascaraInteiro(tel)==false){
		event.returnValue = false;
	}	
	return formataCampo(tel, '(00) 0000-0000', event);
}

//adiciona mascara ao CPF
function MascaraCPF(cpf){
	if(mascaraInteiro(cpf)==false){
		event.returnValue = false;
	}	
	return formataCampo(cpf, '000.000.000-00', event);
}

//valida telefone
function ValidaTelefone(tel){
	exp = /\(\d{2}\)\ \d{4}\-\d{4}/;
	if(!exp.test(tel.value))
		alert('Numero de Telefone Invalido!');
}

//valida CEP
function ValidaCep(cep){
	exp = /\d{2}\.\d{3}\-\d{3}/;
	if(!exp.test(cep.value))
		alert('Numero de Cep Invalido!');		
}

//valida data
function ValidaData(data){
	exp = /\d{2}\/\d{2}\/\d{4}/;
	if(!exp.test(data.value))
		alert('Data Invalida!');			
}

//valida o CPF digitado
function ValidarCPF(Objcpf){
	var cpf = Objcpf.value;
	exp = /\.|\-/g;
	cpf = cpf.toString().replace( exp, "" ); 
	var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
	var soma1=0, soma2=0;
	var vlr =11;
	
	for(i=0;i<9;i++){
		soma1+=eval(cpf.charAt(i)*(vlr-1));
		soma2+=eval(cpf.charAt(i)*vlr);
		vlr--;
	}	
	soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
	soma2=(((soma2+(2*soma1))*10)%11);
	
	var digitoGerado=(soma1*10)+soma2;
	if(digitoGerado!=digitoDigitado)	
		alert('CPF Invalido!');		
}

//valida numero inteiro com mascara
function mascaraInteiro(){
	if (event.keyCode < 48 || event.keyCode > 57){
		event.returnValue = false;
		return false;
	}
	return true;
}

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
	var cnpj = ObjCnpj.value;
	var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
	var dig1= new Number;
	var dig2= new Number;
	
	exp = /\.|\-|\//g;
	cnpj = cnpj.toString().replace( exp, "" ); 
	var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));
		
	for(i = 0; i<valida.length; i++){
		dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);	
		dig2 += cnpj.charAt(i)*valida[i];	
	}
	dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
	dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));
	
	if(((dig1*10)+dig2) != digito)	
		alert('CNPJ Invalido!');
		
}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) { 
	var boleanoMascara; 
	
	var Digitato = evento.keyCode;
	exp = /\-|\.|\/|\(|\)| /g;
	campoSoNumeros = campo.value.toString().replace( exp, "" ); 
   
	var posicaoCampo = 0;	 
	var NovoValorCampo="";
	var TamanhoMascara = campoSoNumeros.length;; 
	
	if (Digitato != 8) { // backspace 
		for(i=0; i<= TamanhoMascara; i++) { 
			boleanoMascara  = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
								|| (Mascara.charAt(i) == "/"));
			boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == "(") 
								|| (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " "));
			if (boleanoMascara) { 
				NovoValorCampo += Mascara.charAt(i); 
				  TamanhoMascara++;
			}else { 
				NovoValorCampo += campoSoNumeros.charAt(posicaoCampo); 
				posicaoCampo++; 
			  }	   	 
		  }	 
		campo.value = NovoValorCampo;
		  return true; 
	}else { 
		return true; 
	}
}
